
#ifndef MCU_AbstractDigitron_H
#define MCU_AbstractDigitron_H


//Nixie Tube of abstract
#define Nixie_Length 23
typedef enum
{
    Nixie_A = 0x01,
    Nixie_B = 0x02,
    Nixie_C = 0x04,
    Nixie_D = 0x08,
    Nixie_E = 0x10,
    Nixie_F = 0x20,
    Nixie_G = 0x40,
    Nixie_H = 0x80,
}Nixie_Abstract_E;
typedef enum
{
    Nixie_0 = (Nixie_A | Nixie_B | Nixie_C | Nixie_D | Nixie_E | Nixie_F),
    Nixie_1 = (Nixie_B | Nixie_C),
    Nixie_2 = (Nixie_A | Nixie_B | Nixie_D | Nixie_E | Nixie_G),
    Nixie_3 = (Nixie_A | Nixie_B | Nixie_C | Nixie_D | Nixie_G),
    Nixie_4 = (Nixie_B | Nixie_C | Nixie_F | Nixie_G),
    Nixie_5 = (Nixie_A | Nixie_C | Nixie_D | Nixie_F | Nixie_G),
    Nixie_6 = (Nixie_A | Nixie_C | Nixie_D | Nixie_E | Nixie_F | Nixie_G),
    Nixie_7 = (Nixie_A | Nixie_B | Nixie_C),
    Nixie_8 = (Nixie_A | Nixie_B | Nixie_C | Nixie_D | Nixie_E | Nixie_F | Nixie_G),
    Nixie_9 = (Nixie_A | Nixie_B | Nixie_C | Nixie_D | Nixie_F | Nixie_G),
    Nixie_10 = 0, //空显示
    Nixie_11 = Nixie_G, //-
    Nixie_12 = (Nixie_A | Nixie_E | Nixie_F | Nixie_G), //F
    Nixie_13 = (Nixie_A | Nixie_D | Nixie_E | Nixie_F | Nixie_G), //E
    Nixie_14 = (Nixie_E | Nixie_G), //r
    Nixie_15 = (Nixie_E | Nixie_F | Nixie_B | Nixie_C | Nixie_G), //H
    Nixie_16 = (Nixie_E | Nixie_F | Nixie_D), //L
    Nixie_17 = (Nixie_C | Nixie_E | Nixie_G), //n
    Nixie_18 = (Nixie_A | Nixie_B | Nixie_C | Nixie_E | Nixie_F | Nixie_G), //A
    Nixie_19 = Nixie_C, //i
    Nixie_20 = (Nixie_A | Nixie_C | Nixie_D | Nixie_F | Nixie_G), //S
    Nixie_21 = (Nixie_B | Nixie_C | Nixie_D | Nixie_E | Nixie_F ), //U
    Nixie_22 = (Nixie_A | Nixie_B | Nixie_E | Nixie_F | Nixie_G), //P
}Nixie_NumEncoder_E;
extern const Nixie_NumEncoder_E Nixie_NumEncoder[Nixie_Length];

#define Nixie_Num_Inverse 1 //数码管数字反显
#define LcdSeg_Shine_OFF 0xaaa
#define Nixie_NumEncoder_Crossbar 11 //-
#define Nixie_NumEncoder_F 12 //F
#define Nixie_NumEncoder_E_Char 13 //E
#define Nixie_NumEncoder_r 14 //r
#define Nixie_NumEncoder_H 15 //H
#define Nixie_NumEncoder_L 16 //L
#define Nixie_NumEncoder_n 17 //n
#define Nixie_NumEncoder_A 18 //A
#define Nixie_NumEncoder_i 19 //i
#define Nixie_NumEncoder_S 20 //S
#define Nixie_NumEncoder_U 21 //U
#define Nixie_NumEncoder_P 22 //P
#define Nixie_NumEncoder_Space 10 //空显示

#endif
